Domain-Specific Optimization Strategy for Skeleton Programs
نویسندگان
چکیده
Skeletal parallel programming enables us to develop parallel programs easily by composing ready-made components called skeletons. However, a simply-composed skeleton program often lacks efficiency due to overheads of intermediate data structures and communications. Many studies have focused on optimizations by fusing successive skeletons to eliminate the overheads. Existing fusion transformations, however, are too general to achieve adequate efficiency for some classes of problems. Thus, a specific fusion optimization is needed for a specific class. In this paper, we propose a strategy for domain-specific optimization of skeleton programs. In this strategy, one starts with a normal form that abstracts the programs of interest, then develops fusion rules that transform a skeleton program into the normal form, and finally makes efficient parallel implementation of the normal form. We illustrate the strategy with a case study: optimization of skeleton programs involving neighbor elements, which is often seen in scientific computations.
منابع مشابه
Domain-Specific Optimization for Skeleton Programs Involving Neighbor Elements
Skeletal parallel programming enables us to develop parallel programs easily by composing ready-made components called skeletons. However, a simply-composed skeleton program often lacks efficiency due to overheads of intermediate data structures and communications. Many studies have focused on optimizations by fusing successive skeletons to eliminate the overheads. Existing fusion transformatio...
متن کاملTopic 9: Parallel and Distributed Programming
Developing parallel or distributed applications is a hard task and it requires advanced algorithms, realistic modeling, efficient design tools, high performance languages and libraries, and experimental evaluation. This topic provides a forum for presentation of new results and practical experience in this domain. It emphasizes research that facilitates the design and development of correct, hi...
متن کاملReal-Time Linux Kernel Design, Minimization and Optimization
ion: This paper presented a general discussion about real-time Linux kernel design, minimization and optimization. A specific example of a real-time Linux kernel was discussed in details. Specifically, it covered the following topics: real-time operating system requirements; why the general Linux can not meet those real-time requirements; RTOS implementation approaches; mechanisms used in Real-...
متن کاملOptimization Space Exploration of the FastFlow Parallel Skeleton Framework
Parallel skeletons are a structured parallel programming abstraction that provide programmers with a predefined set of algorithmic templates that can be combined, nested and parametrized with sequential code to produce complex programs. The implementation of these skeletons is currently a manual process, requiring human expertise to choose suitable implementation parameters that provide good pe...
متن کاملUsing BSP to optimize Data Distribution in Skeleton Programs
Parallel programming can be made easier by means of a skeleton based methodology, such as P 3 L, which helps programmers to compose their applications by using a set of xed parallel patterns. Such kind of approach is also useful to obtain portability because the \struc-tured" nature of the language can be used to devise a composable support for each parallel pattern so that the complexity of nd...
متن کامل